#!/bin/bash

# 从参数中获取变量
IMAGE_NAME=$1
CONTAINER_NAME=$2
PORT_MAPPING=$3

# 2. 停止并删除旧容器
echo "Stopping and removing old container: $CONTAINER_NAME..."
docker stop $CONTAINER_NAME || true  # 如果容器不存在，忽略错误
docker rm $CONTAINER_NAME || true    # 如果容器不存在，忽略错误

# 3. 清理未使用的镜像（可选）
echo "Cleaning up unused Docker images..."
docker image prune -af  # 删除所有未使用的镜像（包括悬空镜像）

# 1. 拉取最新的 Docker 镜像
echo "Pulling the latest Docker image: $IMAGE_NAME..."
docker pull $IMAGE_NAME

# 4. 启动新容器
echo "Starting new container: $CONTAINER_NAME..."
docker run -d --name $CONTAINER_NAME -p $PORT_MAPPING $IMAGE_NAME

# 5. 检查容器状态
echo "Checking container status..."
docker ps --filter "name=$CONTAINER_NAME"

# 6. 打印完成消息
echo "Deployment completed successfully!"